home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / RECALL2.SRC < prev    next >
Text File  |  1990-11-06  |  13KB  |  329 lines

  1. ;\|
  2. ;RECALL2.SRC     Translated from RECALL2.EDT by Roger Mathew's EDT2SRC Ver 4.11
  3. ;START    10:24:38 AM  28/ 5/90   |
  4. RECALLSX:
  5.     define(MEM_DOC|A|20||)
  6.     define(Z30|A|30||)
  7.     define(LINE|N|2||)
  8.     define(LOC_CTR|N|1||)
  9.     define(PUNC2|N|2||)
  10.     define(CH_NAME|A|15||)
  11.     define(HIS|A|3||)
  12.     define(CL_DAY|A|32||)
  13.     define(PUNC2|N|2||)
  14.     define(CNTR|N|2||)
  15.     define(FLAG|A|1||)
  16.     define(AMOUNTX|N|4||)
  17.     define(S10|A|10||)
  18.     define(DATECOD|S|8||)
  19.     define(CODER|A|5||)
  20.     define(C30|A|30||)
  21.     define(TM|A|27||4)
  22.     define(A30|A|30||)
  23.     define(CHOICE|N|1||)
  24.     define(TDND|S|8||)
  25.     define(DATERP|S|8||)
  26.     define(B30|A|30||)
  27.     define(S1|A|1||)
  28.     define(TD|S|8||)
  29.     define(A8|A|8||)
  30.     define(B8|A|8||)
  31.     define(YES.NO|A|1||)
  32.     define(N5|N|5||)
  33.     define(D1|A|1||)
  34.     define(NY|A|1||)
  35.     define(CODEX1|S|8||)
  36.     define(CTR|N|2||)
  37.     define(DATEN|N|2||)
  38.     define(DATEX|S|8||)
  39.     define(TIT|A|4||)
  40.     define(PATIENT1A|A|30||)
  41.     define(PUNC1|N|2||)
  42.     define(N.2.0.P|N|2||)
  43.     define(P.2.0.1|N|2||)
  44.     define(P.2.0.2|N|2||)
  45.     define(PATIENT2|A|30||)
  46.     define(P.2.0.3|N|2||)
  47.     define(RECTYPE1|A|4||)
  48.     define(RECTYPE2|A|4||)
  49.     define(PATIENT1|A|30||)
  50.     mount(NOTE|S)
  51.     pmsg(""|1|1|Y|N|S|)
  52.     open(PATIENT||0|FILE_LOCK)
  53.     open(GPSETUP||0|)
  54.     open(RECALLS||0|FILE_LOCK)
  55.     D1 = ("")
  56.     date(TD|G)
  57.     YES.NO = ("")
  58.     DATEX = (0)
  59.     DATEN = (0)
  60.     CODEX1 = (0)
  61.     NY = ("")
  62.     trap(I|G|PRINTSTOP)
  63.     trap(S|I)
  64.     trap(D|I)
  65.     trap(F|I)
  66.     trap(R|I)
  67.     trap(B|I)
  68.     trap(G|I)
  69.     trap(H|S|HELP)
  70.     trap(M|I)
  71.     trap(N|I)
  72.     trap(Q|G|MENU)
  73.     mount(RECALLS|S)
  74.     enter(CL_DAY||||N|N|N|||N)
  75.     trim(CL_DAY|T)
  76.     enter(RECTYPE1||||Y|Y|N|||N)
  77.     enter(RECTYPE2||||Y|Y|N|||N)
  78.     CTR = (3)
  79.     enter(CODEX1|||RECALLSX|N|Y|N|||N)
  80.     pchr(P|4)
  81. RECSTART:
  82.     COD.PAT.NAME = ("A")
  83.     find(G|COD.PAT.NAME|EXIT|N)
  84. RECTEST:
  85.     if RECTYPE1 <> ("") then if RECTYPE1 > (COD[CTR]) goto NEXTRECALL
  86.     if RECTYPE2 <> ("") then if RECTYPE2 < (COD[CTR]) goto NEXTRECALL
  87.     if COD.D[CTR] > (CODEX1) goto NEXTRECALL
  88.     if COD.D[CTR] = (0) goto NEXTRECALL
  89.     RECORD.NUMBER = (COD.REF)
  90.     DATECOD = (COD.D[CTR])
  91.     CODER = (COD[CTR])
  92.     find(M|RECORD.NUMBER|EXIT|)
  93.     DATERP = (COD.D[CTR])
  94.     gosub PRINTRECAL
  95. NEXTRECALL:
  96.     find(N|RECALLS|EXITX|)
  97.     goto RECTEST
  98. SEXIST:
  99.     if SEX = ("M") do
  100.         {
  101.         TIT = ("Mr.")
  102.         HIS = ("his")
  103.         }
  104.     if SEX = ("F") do
  105.         {
  106.         if MARITAL.STATUS = ("M") do
  107.             {
  108.             TIT = ("Mrs.")
  109.             }
  110.         else
  111.             {
  112.             TIT = ("Ms.")
  113.             }
  114.         HIS = ("her")
  115.         }
  116.     if SEX = ("") then TIT = ("Ms.")
  117.     trim(TIT|T)
  118.     ret
  119. NEWX:
  120.     PATIENT1A = (PATIENT.NAME)
  121.     PUNC1 =loc(","|PATIENT1A|1||27)
  122.     PUNC1 = (PUNC1-1)
  123.     PATIENT2 =mid(PATIENT.NAME|1|PUNC1|)
  124.     PUNC1 = (PUNC1+3)
  125.     P.2.0.2 = (27-PUNC1)
  126.     PATIENT1 =mid(PATIENT1A|PUNC1|P.2.0.2|)
  127.     PUNC2 =loc(" "|PATIENT1|1||P.2.0.2)
  128.     CH_NAME =mid(PATIENT1|1|PUNC2|)
  129.     trim(PATIENT1|T)
  130.     trim(PATIENT2|T)
  131.     Z30 = (TIT+PATIENT1+NY+PATIENT2)
  132.     trim(CH_NAME|T)
  133.     mem_doc = (rpdoctor[doctor])
  134.     ret
  135. CLEARALL:
  136.     clr(PATIENT|B)
  137.     clr(RECALLS|B)
  138.     S1 = ("")
  139.     DATEX = (0)
  140.     YES.NO = ("")
  141.     ret
  142. EXIT:
  143.     run("recmenu")
  144. EXIT1:
  145.     run("recmenu")
  146. PRINTSTOP:
  147.     pon(S)
  148.     clrlne(1|25)
  149.     pmsg("CONTINUE ? (Y/N):"|30|12|N|N|S|)
  150.     enter(YES.NO|"YN"||PRINTSTOP|Y|Y|N|48|12|N)
  151.     if YES.NO <> ("Y") then run("recmenu")
  152.     pon(P)
  153.     ret
  154. MENU:
  155.     TM[1] = (" 1 - EXIT             01011")
  156.     menu(1|20|2|23|0|TM|CHOICE|1|22|MENU||"-------RECALLS--------"|N)
  157.     on(CHOICE|G|EXIT1|MENU)
  158. TRACE:
  159.     break
  160.     ret
  161. FILE_LOCK:
  162.     pmsg("FILE PATIENT AND/OR RECALLS IS IN USE - EXIT"|20|24|Y|N|S|)
  163.     clrlne(1|24)
  164.     run("recmenu")
  165. HELP:
  166.     saves(1)
  167.     window(1|23|22|78)
  168.     pmsg("                                    SMEAR RECALLS"|1|1|N|Y|S|)
  169.     pmsg("                                    ============="|1|2|N|Y|S|)
  170.     pmsg("1.USE UPDATE PROGRAM AND MAKE SURE ALL WOMEN BETWEEN 33 AND 65 ARE ENTERED"|1|3|N|Y|S|)
  171.     pmsg("2.ALL THESE WOMEN MUST HAVE A RECALL DATE."|1|4|N|Y|S|)
  172.     pmsg("3.RUN REPORT ONLY TO GET LATEST UPDATE ON TOTAL AT-RISK GROUP"|1|5|N|Y|S|)
  173.     pmsg("4.RECALL EVERY MONTH ON THE 16th + A DAY OR TWO"|1|6|N|Y||)
  174.     pmsg("5.CHECK OFF AGAINST RECALL LIST. ALL NON-ATTENDERS WILL BE ASKED AGAIN"|1|7|N|Y|S|)
  175.     pmsg("6.NON-ATTENDERS WILL BE THOSE WHO ARE MORE THAN ONE MONTH BEHIND"|1|8|N|Y||)
  176.     pmsg(""|1|9|N|Y|S|)
  177.     pmsg("                                    CODES"|1|10|N|Y|S|)
  178.     pmsg("                                    ====="|1|11|N|Y|S|)
  179.     pmsg("CODE 1 = SMEARS"|1|12|N|Y|S|)
  180.     pmsg("CODE 2 = CONTRACEPTION"|1|13|N|Y|S|)
  181.     pmsg("CODE 3 = IMMUNISATION"|1|14|N|Y|S|)
  182.     pmsg("CODE 4 = DIABETES"|1|15|N|Y|S|)
  183.     pmsg("CODE 5 = EPILEPSY"|1|16|N|Y|S|)
  184.     pmsg("CODE 6 = THYROID"|1|17|N|Y|S|)
  185.     pmsg("CODE 7 = ANGINA AND HEART DISEASE"|1|18|N|Y|S|)
  186.     pmsg("CODE 8 = ASTHMA"|1|19|N|Y|S|)
  187.     pmsg("CODE 9 = BP"|1|20|N|Y|S|)
  188.     pmsg(""|1|21|Y|N|S|)
  189.     redsp(1)
  190.     ret
  191. ;IMMUN    01:33:54 AM   8/11/89   |
  192. PRINTRECAL:
  193.     gosub SEXIST
  194.     gosub NEWX
  195.     pset(140|72|72)
  196.     pmsg(%27;%120;%49;%27;%112;%49;%27;%107;%49|||N|N|P|)
  197.     pmsg("                     ";%27;%119;%49;%27;%80;%14;%18;let_title;%27;%119;%48;%27;%112;%48|||N|N|P|)
  198.     pmsg(%27;%15;%27;%71;""|||N|N|P|)
  199.     pmsg(title1;"                                                   ";ad1|||N|N|P|)
  200.     pmsg(title2;"                                                   ";ad2|||N|N|P|)
  201.     pmsg(title3;"                                                   ";ad3|||N|N|P|)
  202.     pmsg(Title4;"                                                   ";ad4|||N|N|P|)
  203.     pset(90|72|72)
  204.     pmsg(%18;%27;%112;%49;%27;%72;""|||N|N|P|)
  205.     pmsg(""|||N|N|P|)
  206.     pmsg(""|||N|N|P|)
  207.     pmsg("    ";%27;%45;%49;%27;%69;"POLIO-DIPTHERIA-WHOOPING COUGH-TETANUS-MEASLES-MUMPS-GERMAN MEASLES";%27;%45;%48;%27;%70|||N|N|P|)
  208.     pmsg(""|||N|N|P|)
  209.     pmsg(""|||N|N|P|)
  210.     pmsg("Dear Mrs. ";PATIENT2;","|||N|N|P|)
  211.     pmsg(""|||N|N|P|)
  212.     if COD[CTR] = ("") do
  213.         {
  214.         pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" FIRST IMMUNISATION.";%27;%70|||N|N|P|)
  215.         goto NEXTLINE
  216.         }
  217.     LOC_CTR =loc("1"|COD[3]|1||4)
  218.     if LOC_CTR > (0) do
  219.         {
  220.         pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" SECOND IMMUNISATION.";%27;%70|||N|N|P|)
  221.         goto NEXTLINE
  222.         }
  223.     LOC_CTR =loc("2"|COD[3]|1||4)
  224.     if LOC_CTR > (0) do
  225.         {
  226.         pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" THIRD IMMUNISATION.";%27;%70|||N|N|P|)
  227.         goto NEXTLINE
  228.         }
  229.     LOC_CTR =loc("3"|COD[3]|1||4)
  230.     if LOC_CTR > (0) do
  231.         {
  232.         pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" MUMPS,MEASLES & RUBELLA ";%27;%70;"vaccination."|||N|N|P|)
  233.         goto NEXTLINE
  234.         }
  235.     LOC_CTR =loc("M"|COD[3]|1||4)
  236.     if LOC_CTR > (0) do
  237.         {
  238.         pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" PRE-SCHOOL BOOSTER ";%27;%70;"vaccination."|||N|N|P|)
  239.         goto NEXTLINE
  240.         }
  241.     pmsg(%27;%69;CH_NAME;%27;%70;" is now due for ";HIS;%27;%69;" IMMUNISATION.";%27;%70|||N|N|P|)
  242. NEXTLINE:
  243.     pmsg(""|||N|N|P|)
  244.     pmsg("This procedure is very important for the future health of your child and ";%27;%69;"OTHERS.";%27;%70|||N|N|P|)
  245.     pmsg("Immunisation is the ";%27;%69;"ONLY ";%27;%70;"way of fighting these deadly diseases."|||N|N|P|)
  246.     pmsg(""|||N|N|P|)
  247.     pmsg(%27;%69;"ANTIBIOTICS WILL NOT WORK ";%27;%70;"so you must protect ";%27;%69;CH_NAME;%27;%70;" now."|||N|N|P|)
  248.     pmsg(""|||N|N|P|)
  249.     pmsg("Your Doctor will be pleased to discuss any worries you may have about "|||N|N|P|)
  250.     pmsg("protecting your child."|||N|N|P|)
  251.     pmsg(""|||N|N|P|)
  252.     pmsg(%27;%69;"An appointment has been made for ";CH_NAME;" on ";CL_DAY;%27;%70|||N|N|P|)
  253.     pmsg(""|||N|N|P|)
  254.     pmsg("If this time is not convenient please ring to arrange another or see your Doctor."|||N|N|P|)
  255.     pmsg(""|||N|N|P|)
  256.     pmsg("Yours sincerely,"|||N|N|P|)
  257.     pmsg(""|||N|N|P|)
  258.     pmsg(""|||N|N|P|)
  259.     pmsg(""|||N|N|P|)
  260.     pmsg(MEM_DOC|||N|N|P|)
  261.     pmsg(""|||N|N|P|)
  262.     pmsg(%27;%112;%48;%27;%69;%18;%27;%116;%49;%27;%55|||N|Y|P|)
  263.     pmsg("    ┌─────────────────────────────────────────────────────────────────┐"|||N|N|P|)
  264.     pmsg("    │ PLEASE BE A CARING PARENT AND MAKE SURE YOUR CHILD IS PROTECTED │"|||N|N|P|)
  265.     pmsg("    └─────────────────────────────────────────────────────────────────┘"|||N|N|P|)
  266.     pmsg(%27;%64;%27;%70|||N|Y|P|)
  267.     for(LINE|1|28|1)
  268.         {
  269.         pmsg(""|||N|N|P|)
  270.         }
  271.     ret
  272. EXITX:
  273.     goto EXIT
  274. \SSRECALLS 
  275.                                                                                                 
  276.                                                                                                 
  277.                                                                                                 
  278.                                                                                                 
  279.                                                                                                 
  280.                       IMMUNISATION LETTER PRINTING                                              
  281.                                                                                                 
  282.    RECALLS                                                       ╔══════════════════════════════
  283. ══════════╗                                      ║   Clinic day: p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p
  284.                                  ║                                        ║                     
  285.                  ║  From Code: p p p p  to  Code: p p p p         ║                                     
  286.  ║                                        ║                                      ║ Up to Date: p p
  287.  p p p p p p  p p/??/??           ║                                      ╚══════════════════════════════
  288. ══════════╝                                                                                     
  289.                                                                                                 
  290.                                                                                                 
  291.                                                                                                 
  292.                                                                                                 
  293.                                                                                                 
  294.                                                                                                 
  295. \
  296. CL_DAY             32 A 3311
  297. RECTYPE1            4 A 3113
  298. RECTYPE2            4 A 4613
  299. CODEX1              8 S 3115
  300. DATEN               2 N 4015
  301. \
  302. \STNOTE    
  303.                          RECALLS - WHAT TO DO
  304.                          ====================
  305.  
  306. 1. TO TAG ALL POTENTIAL RECALLS ANSWER RUN RECALLS AT RISK FROM MAIN MENU.
  307.  
  308.   (THIS WILL TAG A GIVEN AGE GROUP WITH CODE <****>)
  309.  
  310. 2. TO UPDATE THE <****> USE EASY SMEAR /IMMUNISATION UPDATE PROGRAM.
  311.  
  312. 3. IF YOU ANSWER NO TO REPORT ONLY YOU WILL PRINT A LIST OF OUTSTANDING
  313.    RECALLS WITH OR WITHOUT LABELS.
  314.  
  315. 6. PRINT OUT THESE AND SEND TO PATIENTS.
  316.  
  317. 7. UPDATE  RESULTS USING EASY RECALL MAINTENANCE
  318.  
  319.         NOTE: THIS PROGRAM WILL ALWAYS PRINT OUT "ALL" OUTSTANDING RECALLS.
  320.  
  321.                           ========================
  322.  
  323.  
  324.  
  325.  
  326.  
  327. \
  328. \
  329.